1 module ut.message;
2 
3 import unit_threaded;
4 import jupyter.wire.message;
5 
6 
7 @("deserialise.nullfields")
8 unittest {
9   auto message = Message(
10       [
11           "<IDS|MSG>",
12           "f3ceaa87a37567bf6e6431c75460596f2e8bd609960ccffc1224cc1105debe09",
13           `{"msg_id":"7e65fba6-d785-4a0c-95ee-6be99ba8ed17","msg_type":"dummy-type","session":null,"date":"2020-11-15T15:06:37","version":null}`,
14           `{}`,
15           "{}",
16           "{}",
17       ]
18   );
19 }
20 
21 
22 @("serialise.nonullfields")
23 @safe unittest {
24     const message = Message(
25         [
26           "<IDS|MSG>",
27           "f3ceaa87a37567bf6e6431c75460596f2e8bd609960ccffc1224cc1105debe09",
28           `{"msg_id": "leid", "msg_type": "dummy-type", "date": "2020-11-15T15:06:37"}`,
29           `{"msg_id": "pid", "msg_type": "parent", "date": "2020-11-15T15:06:37"}`,
30           "{}",
31           "{}",
32         ]
33     );
34 
35     message.toStrings("key").should == [
36         "<IDS|MSG>",
37         "d2f0f5051d79d72cbaf5c7f53aecf5436e56a8adc8f9c66452f9f299d18ddf77",
38         `{"msg_id":"leid","msg_type":"dummy-type","username":"","session":"","date":"2020-11-15T15:06:37","version":""}`,
39         `{"msg_id":"pid","msg_type":"parent","username":"","session":"","date":"2020-11-15T15:06:37","version":""}`,
40         "{}",
41         "{}",
42     ];
43 }
44 
45 
46 @("copy-username")
47 @safe unittest {
48   auto message = Message(MessageHeader("id", "type", "username"), "dummy-type");
49   message.parentHeader.userName.should == "username";
50   message.header.userName.should == "username";
51 }
52 
53 
54 @("serialization")
55 @safe unittest {
56   auto raw = Message(MessageHeader("id", "type", "username"), "dummy-type").toStrings("dummy");
57   auto message = Message(raw);
58   message.parentHeader.userName.should == "username";
59   message.header.userName.should == "username";
60 }